
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_Hans">
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>FAQ：贡献代码 &#8212; Django 3.2.6.dev 文档</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/language_data.js"></script>
    <link rel="index" title="索引" href="../genindex.html" />
    <link rel="search" title="搜索" href="../search.html" />
    <link rel="next" title="错误调试" href="troubleshooting.html" />
    <link rel="prev" title="FAQ：管理" href="admin.html" />



 
<script src="../templatebuiltins.js"></script>
<script>
(function($) {
    if (!django_template_builtins) {
       // templatebuiltins.js missing, do nothing.
       return;
    }
    $(document).ready(function() {
        // Hyperlink Django template tags and filters
        var base = "../ref/templates/builtins.html";
        if (base == "#") {
            // Special case for builtins.html itself
            base = "";
        }
        // Tags are keywords, class '.k'
        $("div.highlight\\-html\\+django span.k").each(function(i, elem) {
             var tagname = $(elem).text();
             if ($.inArray(tagname, django_template_builtins.ttags) != -1) {
                 var fragment = tagname.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + tagname + "</a>");
             }
        });
        // Filters are functions, class '.nf'
        $("div.highlight\\-html\\+django span.nf").each(function(i, elem) {
             var filtername = $(elem).text();
             if ($.inArray(filtername, django_template_builtins.tfilters) != -1) {
                 var fragment = filtername.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + filtername + "</a>");
             }
        });
    });
})(jQuery);</script>

  </head><body>

    <div class="document">
  <div id="custom-doc" class="yui-t6">
    <div id="hd">
      <h1><a href="../index.html">Django 3.2.6.dev 文档</a></h1>
      <div id="global-nav">
        <a title="Home page" href="../index.html">Home</a>  |
        <a title="Table of contents" href="../contents.html">Table of contents</a>  |
        <a title="Global index" href="../genindex.html">Index</a>  |
        <a title="Module index" href="../py-modindex.html">Modules</a>
      </div>
      <div class="nav">
    &laquo; <a href="admin.html" title="FAQ：管理">previous</a>
     |
    <a href="index.html" title="Django FAQ" accesskey="U">up</a>
   |
    <a href="troubleshooting.html" title="错误调试">next</a> &raquo;</div>
    </div>

    <div id="bd">
      <div id="yui-main">
        <div class="yui-b">
          <div class="yui-g" id="faq-contributing">
            
  <div class="section" id="s-faq-contributing-code">
<span id="faq-contributing-code"></span><h1>FAQ：贡献代码<a class="headerlink" href="#faq-contributing-code" title="永久链接至标题">¶</a></h1>
<div class="section" id="s-how-can-i-get-started-contributing-code-to-django">
<span id="s-new-contributors-faq"></span><span id="how-can-i-get-started-contributing-code-to-django"></span><span id="new-contributors-faq"></span><h2>如何为 Django 贡献代码?<a class="headerlink" href="#how-can-i-get-started-contributing-code-to-django" title="永久链接至标题">¶</a></h2>
<p>感谢反馈！我们已经为这个问题编写了一个详细的文档。参见:doc:<cite>Contributing to Django 1</cite>.</p>
</div>
<div class="section" id="s-i-submitted-a-bug-fix-in-the-ticket-system-several-weeks-ago-why-are-you-ignoring-my-patch">
<span id="i-submitted-a-bug-fix-in-the-ticket-system-several-weeks-ago-why-are-you-ignoring-my-patch"></span><h2>我几周之前提交了一个工单系统 bug 的修复。为什么忽略我的提议？<a class="headerlink" href="#i-submitted-a-bug-fix-in-the-ticket-system-several-weeks-ago-why-are-you-ignoring-my-patch" title="永久链接至标题">¶</a></h2>
<p>别担心:我们不会忽略你!</p>
<p>重要的是要明白，“工单被忽略”和“工单还没有被查看”是有区别的。 Django 的工单系统包含数百个打开的工单，对最终用户功能有不同程度的影响，Django 的开发人员必须检查并确定优先级。</p>
<p>另外：所有的 Django 工作都是由志愿者完成的。因此，我们花在这个框架上的总时间是有限的，它取决于我们的空闲时间，并且每周都会有所不同。如果我们很忙，我们可能无法在 Django 上花费太多的时间，尽管我们不愿如此。</p>
<p>确保工单在签入过程中不被挂起的最佳方法是让它所描述的问题通俗易懂，即便是对相关领域并不熟悉的人也能理解并修复问题：</p>
<ul class="simple">
<li>是否有明确的用以重现 bug 的说明？ 是否触及依赖项（如Pillow），contrib 模块或特定数据库？这些说明对于不熟悉它的人是否也足够明确？</li>
<li>如果工单附有多个补充，是否能够明确每个补充是做什么的、哪些补充可以忽略，哪些补充很重要？</li>
<li>补丁是否包括单元测试？如果没有，那么是否可以解释清楚原因？测试可以简洁地表达了问题所在，并显示补丁真的修复了问题。</li>
</ul>
<p>如果你的补丁没有被加入到 Django，并不意味我们忽视它了——我们只是关闭这个工单。所以如果你的工单一直处于开启状态，也并不意味着我们忽视了你；这只是意味着我们还没来得及看它。</p>
</div>
<div class="section" id="s-when-and-how-might-i-remind-the-team-of-a-patch-i-care-about">
<span id="when-and-how-might-i-remind-the-team-of-a-patch-i-care-about"></span><h2>何时以及如何提醒团队我所关注的补丁？<a class="headerlink" href="#when-and-how-might-i-remind-the-team-of-a-patch-i-care-about" title="永久链接至标题">¶</a></h2>
<p>一种获得关注的方式是向邮件列表发送一个礼貌的，适时的消息。为了确保时间合适，你需要留意时间表。如果你在发布截止日期之前发送消息，则不太可能获得您需要的关注。</p>
<p>温和的 IRC 提醒也可以发挥作用——还是如此：如果可能的话，选取一个合适的时间。 例如，在修复 bug 的冲刺期间就是一个不错的时机。</p>
<p>另一种方法获得关注的方法是将几个相关的工单放在一起。当某人坐下来审阅一个他们已经有一段时间没有接触的区域中的bug时，可能需要几分钟的时间来想起该区域代码如何工作的所有细节。如果您将几个小错误的修复集中到一个类似主题的组中，那么您将成为一个有吸引力的目标，因为在一个区域的代码上提速工作的成本可以被用到多个工单上。</p>
<p>请不要通过电子邮件向任何人发邮件或反复提出同样的问题。 这种行为不会让你有任何额外的关注——当然也不会给你带来解决问题所需的关注。</p>
</div>
<div class="section" id="s-but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-patch">
<span id="but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-patch"></span><h2>但是我已经提醒你好几遍了，你依然继续忽略我的补丁！<a class="headerlink" href="#but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-patch" title="永久链接至标题">¶</a></h2>
<p>说真的 - 我们不会无视你的。 如果你的补丁没有包含在 Django 的工单，我们将关闭工单。 对于所有其他的工单，我们需要优先考虑我们的努力，这意味着一些工单将在其他人之前解决。</p>
<p>确定 bug 修复优先级的标准之一是对于特定 bug 而言，可能会受到影响的人数。有可能影响许多人的 bug 一般会优先于那些边缘情况下的 bug。</p>
<p>Another reason that a bug might be ignored for a while is if the bug is a
symptom of a larger problem. While we can spend time writing, testing and
applying lots of little patches, sometimes the right solution is to rebuild. If
a rebuild or refactor of a particular component has been proposed or is
underway, you may find that bugs affecting that component will not get as much
attention. Again, this is a matter of prioritizing scarce resources. By
concentrating on the rebuild, we can close all the little bugs at once, and
hopefully prevent other little bugs from appearing in the future.</p>
<p>不管什么原因，请记住，你可能会经常碰到一个特定的 bug，但并不一定每个 Django 用户都会遇到同样的 bug。 不同的用户以不同的方式使用 Django，在不同的条件下执行代码的不同部分。 我们评估相对优先事项时，会考虑整个社区的需求，而不是优先考虑对某个特定用户的影响。 当然，这并不意味着我们认为你的问题不重要，只是在有限的可用时间内，我们总是希望让 10 个人的问题得到解决，而不是只解决 1 个人的问题。</p>
</div>
<div class="section" id="s-i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">
<span id="i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself"></span><h2>I'm sure my ticket is absolutely 100% perfect, can I mark it as &quot;Ready For Checkin&quot; myself?<a class="headerlink" href="#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself" title="永久链接至标题">¶</a></h2>
<p>Sorry, no. It's always better to get another set of eyes on a ticket. If
you're having trouble getting that second set of eyes, see questions above.</p>
</div>
</div>


          </div>
        </div>
      </div>
      
        
          <div class="yui-b" id="sidebar">
            
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">FAQ：贡献代码</a><ul>
<li><a class="reference internal" href="#how-can-i-get-started-contributing-code-to-django">如何为 Django 贡献代码?</a></li>
<li><a class="reference internal" href="#i-submitted-a-bug-fix-in-the-ticket-system-several-weeks-ago-why-are-you-ignoring-my-patch">我几周之前提交了一个工单系统 bug 的修复。为什么忽略我的提议？</a></li>
<li><a class="reference internal" href="#when-and-how-might-i-remind-the-team-of-a-patch-i-care-about">何时以及如何提醒团队我所关注的补丁？</a></li>
<li><a class="reference internal" href="#but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-patch">但是我已经提醒你好几遍了，你依然继续忽略我的补丁！</a></li>
<li><a class="reference internal" href="#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">I'm sure my ticket is absolutely 100% perfect, can I mark it as &quot;Ready For Checkin&quot; myself?</a></li>
</ul>
</li>
</ul>

  <h4>上一个主题</h4>
  <p class="topless"><a href="admin.html"
                        title="上一章">FAQ：管理</a></p>
  <h4>下一个主题</h4>
  <p class="topless"><a href="troubleshooting.html"
                        title="下一章">错误调试</a></p>
  <div role="note" aria-label="source link">
    <h3>本页</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/faq/contributing.txt"
            rel="nofollow">显示源代码</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3>快速搜索</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="转向" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    </div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
              <h3>Last update:</h3>
              <p class="topless">7月 23, 2021</p>
          </div>
        
      
    </div>

    <div id="ft">
      <div class="nav">
    &laquo; <a href="admin.html" title="FAQ：管理">previous</a>
     |
    <a href="index.html" title="Django FAQ" accesskey="U">up</a>
   |
    <a href="troubleshooting.html" title="错误调试">next</a> &raquo;</div>
    </div>
  </div>

      <div class="clearer"></div>
    </div>
  </body>
</html>